---
title: "Модуль openvpn"
webIfaces:
- name: openvpn-admin
---

Дает доступ к ресурсам кластера посредством OpenVPN с аутентификацией по сертификатам, предоставляет простой веб-интерфейс.

Функции веб-интерфейса:
- выпуск сертификатов;
- отзыв сертификатов;
- отмена отзыва сертификатов;
- получение готового пользовательского конфигурационного файла.

Веб-интерфейс проинтегрирован с модулем [user-authn](../150-user-authn/), что позволяет управлять возможностью доступа различных пользователей в этот веб-интерфейс.

## Варианты публикации VPN-сервиса

Обычно для подключения выбирается один или несколько внешних IP-адресов. Поддерживаются следующие методы подключения:
- по внешнему IP-адресу (`ExternalIP`) — когда имеются узлы с публичными IP-адресами.
- посредством `LoadBalancer` — поддерживаются LB для AWS, Google Сloud и др.
- `Direct` — для нестандартных случаев, позволяет вручную настроить путь трафика от точки входа в кластер до пода с OpenVPN.

## Доступные ресурсы кластера после подключения к VPN

На компьютер пользователя после подключения к VPN доставляются (push) следующие параметры:
- адрес `kube-dns` добавляется в DNS-серверы клиента для возможности прямого обращения к сервисам Kubernetes по FQDN;
- маршрут в локальную сеть;
- маршрут в сервисную сеть кластера;
- маршрут в сеть подов.

## Аудит пользовательских соединений

Модуль позволяет включить логирование пользовательской активности через VPN в JSON-формате. Группировка трафика происходит по полям `src_ip`, `dst_ip`, `src_port`, `dst_port`, `ip_proto`. Логи контейнера могут быть собраны и отправлены на хранение для последующего аудита с помощью модуля [log-shipper](../460-log-shipper/).
